﻿using Microsoft.Extensions.Logging;

namespace rpc_service.log;

public class Logger
{
    private static ILoggerFactory _logger;
    
    public static ILoggerFactory GetLoggerFactory()
    {
        if (_logger == null)
        {
            _logger = LoggerFactory.Create(builder =>
            {
                builder
                    .AddFilter("Microsoft", LogLevel.Warning) // 过滤掉 Microsoft 内部日志的低级别信息
                    .AddFilter("System", LogLevel.Warning)    // 过滤掉 System 内部日志的低级别信息
                    .AddFilter("rpc_service", LogLevel.Debug) // 设置你的项目命名空间的日志级别
                    .AddConsole(); // 添加控制台日志提供程序
            });
        }
        
        return _logger;
    }
}